
import java.util.InputMismatchException;
import java.util.Scanner;
public class FirstOneByMyR {
    /**
     *
     * @Author chenxl
     *
     * @date 20250306
     * @Record 2025/03/10
     *
     */
    public static class FirstOneByMy {
        //主程序入口
        public static void main(String[] args) {
            //定义需要用到的变量->使用Scanner类从控制台接收用户输入的数据
            Scanner scanner = new Scanner(System.in);
            int loopCount = 0;
            // 处理输入次数可能出现的异常
            while (true) {
                try {
                    System.out.println("请输入需要执行的运算次数：");
                    loopCount = scanner.nextInt();
                    break;
                } catch (InputMismatchException e) {
                    System.out.println("输入的不是有效的整数，请重新输入！");
                    scanner.nextLine(); // 清除无效输入
                }
            }
            System.out.println("-----------------------------------------");

            double result = 0;
            //使用for循环
            for (int i = 1; i <= loopCount; i++) {
                System.out.println("\n第" + i + "个值：");
                double num = 0;
                // 处理输入数字可能出现的异常
                while (true) {
                    try {
                        System.out.println("请输入需要运算的值：");
                        num = scanner.nextDouble();
                        break;
                    } catch (InputMismatchException e) {
                        System.out.println("输入的不是有效的数字，请重新输入！");
                        scanner.nextLine(); // 清除无效输入
                    }
                }
                //请输入需要使用的运算符
                System.out.println("请输入需要使用的运算符号，如需要加法就使用 + ，可供选择的运算符号有：+ 、- : ");
                char operator = ' ';
                boolean validOperator = false;
                // 处理输入运算符可能出现的异常
                while (!validOperator) {
                    String input = scanner.next();
                    if (input.length() == 1) {
                        operator = input.charAt(0);
                        if (operator == '+' || operator == '-') {
                            validOperator = true;
                        } else {
                            System.out.println("你的输入不合法请重试！");
                        }
                    } else {
                        System.out.println("你的输入不合法请重试！");
                    }
                }

                //根据运算符进行运算
                switch (operator) {
                    case '+':
                        result += num;
                        break;
                    case '-':
                        result -= num;
                        break;
                }
                System.out.println("-----------------------------------------");
            }
            //输出运算结果——返回值：result
            System.out.println("运算结果是：" + result);
            System.out.println("\n所有运算已完成！");
            //关闭scanner方法节省内存
            scanner.close();
        }
    }
}

